package com.meilai.project.service.system;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.meilai.project.dto.system.MessageCenterSearchDTO;
import com.meilai.project.entity.system.MessageCenter;

import java.util.List;
import java.util.Map;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author 张驰
 * @since 2022-04-15
 */
public interface MessageCenterService extends IService<MessageCenter> {
    Page<MessageCenter> selectPageList(Integer current_page, Integer page_size,
                                            MessageCenterSearchDTO searchDTO);

    boolean setHasReadByIds(List<Long> ids);

    int getOwnUnReadCount();

    void genSysMessage(Long user_id, String title, String content);

    void genFlowMessage(Long user_id, Integer flow_type, Long wf_data_id, Long data_id, Integer msgType);

    void genMissionMessage(Long user_id, String title, String content, String to_router_name, Map<String, String> params);

    void genTipMessage(Long user_id, String title, String content, String to_router_name, Map<String, String> params);

    void genPushMessage(Long user_id, String title, String content, String to_router_name, Map<String, String> params);

    void genOtherMessage(Long user_id, String title, String content);
}
